{
 "cells": [
  {
   "cell_type": "markdown",
   "source": [
    "# 泰坦尼克号幸存者分析"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "2481f6d8a4f43525"
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "         survived      pclass         age       sibsp       parch        fare\n",
      "count  891.000000  891.000000  714.000000  891.000000  891.000000  891.000000\n",
      "mean     0.383838    2.308642   29.699118    0.523008    0.381594   32.204208\n",
      "std      0.486592    0.836071   14.526497    1.102743    0.806057   49.693429\n",
      "min      0.000000    1.000000    0.420000    0.000000    0.000000    0.000000\n",
      "25%      0.000000    2.000000   20.125000    0.000000    0.000000    7.910400\n",
      "50%      0.000000    3.000000   28.000000    0.000000    0.000000   14.454200\n",
      "75%      1.000000    3.000000   38.000000    1.000000    0.000000   31.000000\n",
      "max      1.000000    3.000000   80.000000    8.000000    6.000000  512.329200\n",
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 891 entries, 0 to 890\n",
      "Data columns (total 15 columns):\n",
      " #   Column       Non-Null Count  Dtype  \n",
      "---  ------       --------------  -----  \n",
      " 0   survived     891 non-null    int64  \n",
      " 1   pclass       891 non-null    int64  \n",
      " 2   sex          891 non-null    object \n",
      " 3   age          714 non-null    float64\n",
      " 4   sibsp        891 non-null    int64  \n",
      " 5   parch        891 non-null    int64  \n",
      " 6   fare         891 non-null    float64\n",
      " 7   embarked     889 non-null    object \n",
      " 8   class        891 non-null    object \n",
      " 9   who          891 non-null    object \n",
      " 10  adult_male   891 non-null    bool   \n",
      " 11  deck         203 non-null    object \n",
      " 12  embark_town  889 non-null    object \n",
      " 13  alive        891 non-null    object \n",
      " 14  alone        891 non-null    bool   \n",
      "dtypes: bool(2), float64(2), int64(4), object(7)\n",
      "memory usage: 92.4+ KB\n",
      "None\n",
      "   survived  pclass     sex   age  sibsp  parch     fare embarked  class  \\\n",
      "0         0       3    male  22.0      1      0   7.2500        S  Third   \n",
      "1         1       1  female  38.0      1      0  71.2833        C  First   \n",
      "2         1       3  female  26.0      0      0   7.9250        S  Third   \n",
      "3         1       1  female  35.0      1      0  53.1000        S  First   \n",
      "4         0       3    male  35.0      0      0   8.0500        S  Third   \n",
      "\n",
      "     who  adult_male deck  embark_town alive  alone  \n",
      "0    man        True  NaN  Southampton    no  False  \n",
      "1  woman       False    C    Cherbourg   yes  False  \n",
      "2  woman       False  NaN  Southampton   yes   True  \n",
      "3  woman       False    C  Southampton   yes  False  \n",
      "4    man        True  NaN  Southampton    no   True  \n"
     ]
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "import pandas as pd\n",
    "\n",
    "# 使用Seaborn库加载泰坦尼克号数据集\n",
    "titanic_data = sns.load_dataset('titanic')\n",
    "\n",
    "# 保存数据到CSV文件\n",
    "titanic_data.to_csv('titanic.csv', index=False)\n",
    "\n",
    "# 使用Pandas读取数据\n",
    "data = pd.read_csv('titanic.csv')\n",
    "\n",
    "# 查看数据基本信息\n",
    "print(data.describe())\n",
    "print(data.info())\n",
    "print(data.head())\n",
    "\n",
    "# 设置预测标签\n",
    "label = data['survived']"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-01-03T13:01:16.045956400Z",
     "start_time": "2024-01-03T13:01:15.976975600Z"
    }
   },
   "id": "d9977f6b5178922a"
  },
  {
   "cell_type": "markdown",
   "source": [
    "# 数据预处理"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "9defcf38e4a1a38e"
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 1800x500 with 3 Axes>",
      "image/png": "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Z599Vvfee68effRRnT59WtOnT1eXLl30008/ydfXV0OHDtUXX3yhsWPH6rbbblNERIR27dqliRMn6pFHHlHv3r2vev7OnTvrjTfe0J49e2xZNmzYIAcHB23YsEGPP/64bZt0eWrLK/nb3/6mkydPauXKlfr444+v2Gb+/Pm6cOGC/va3v8lisWjq1Knq16+fDh8+bDdN6B89//zzmjJlih599FG1a9dO6enp2rp1q7Zt26bbbrvtmj+/q5kzZ46ysrI0fPhwWa1WhYaG6pZbbtHChQv13HPP2bVdsGCBHB0ddc8991zxXAMGDNCMGTNsU5AVyszM1Ndff62HHnpIjo6OkqSPP/5YQ4YMUWxsrF555RVlZmZq5syZ6tSpk3766SdbgXLFihXq37+/oqOjNWXKFJ09e1ZDhw5VeHh4ie4XAIDK5uuvv1adOnV08803l+j4w4cP68svv9Q999yj2rVrKzk5We+++65uueUW7d27V2FhYZKk999/X48//rj++te/6oknnlBWVpZ27typzZs36/7775ckPfbYY1q0aJFGjhyp6OhonT17Vt9//7327dtXpIBXqEmTJvL19dX69et11113SfpfH2vHjh1KT0+Xt7e3CgoKtHHjRg0fPvyK52nUqJEmTZqkCRMmaPjw4ercubMk2f1czp8/r9tvv139+vXTvffeq0WLFunpp59W06ZN1atXr6v+jPbs2aM77rhDzZo106RJk2S1WnXw4EH98MMPN/4D/83Zs2fVq1cvDRw4UA888ICCg4PVunVrDR48WFu2bLEVMKXLD642bdqkV1999YrnatOmjerUqaOFCxdqyJAhdvsWLFigGjVqKDY2VtLlF9Q6dOhge+AWGBiob7/9Vo888ojS09M1evRoSdKlS5fUvXt3JSYm6vHHH1dYWJg+/vhjfffddyW+ZwAAqrpDhw5Jkvz9/SVJb775pu666y4NGjRIOTk5+vTTT3XPPfdoyZIl6tOnj6Ti9TOK0w8r7u/4Qi+//LIcHBz0j3/8Q2lpaZo6daoGDRqkzZs329rMnDlTI0eOVOfOnTVmzBgdPXpUffv2VY0aNeyeuxQUFOiuu+7S999/r+HDh6tRo0batWuX3njjDf3yyy/68ssv7a793XffaeHChRo5cqQCAgLsXkL/vZL0LSVpy5Yt2rhxowYOHKjw8HAdPXpUM2fOVNeuXbV3717b7AonTpzQrbfeKovFovHjx8vDw0P/+c9/rjijQnGfUwEoJgNAtbRixQrD0dHRcHR0NGJiYoynnnrKWL58uZGTk2PX7ujRo4ajo6MxefJku+27du0ynJyc7LafOnXK8PPzM2677TYjOzvbaNmypREZGWmkpaVdM0tKSoohyXjnnXcMwzCM1NRUw8HBwbjnnnuM4OBgW7vHH3/c8PPzMwoKCgzDMIwjR44Ykow5c+bY2sTFxRlX+qutsK2/v79x7tw52/avvvrKkGR8/fXX18zYvHlzo0+fPtdsc8sttxi33HJLke1DhgwxoqKiimTx9vY2UlJS7Nq+++67hiRj165ddtujo6ONbt262b6vWbPGkGSsWbPGMAzDKCgoMGrWrGn079/f7riFCxcakoz169cbhmEYFy5cMHx9fY1hw4bZtUtKSjJ8fHzstrdo0cIIDQ01UlNTbdtWrFhhSLK7HwAAqqK0tDRDknH33XcX+5ioqChjyJAhtu9ZWVlGfn6+XZsjR44YVqvVmDRpkm3b3XffbTRu3Pia5/bx8THi4uKKnaVQnz59jHbt2tm+9+vXz+jXr5/h6OhofPvtt4ZhGMa2bdsMScZXX31la/fHfs2WLVuK9Lt+31aS8dFHH9m2ZWdnGyEhIUX6Jn/0xhtvGJKM06dPX7XNnDlzDEnGkSNH7Lb/sT/0+yyzZs2ya5uWlmZYrVbjySeftNs+depUw2KxGL/++qtt2x//HMePH284Ozvb9SGzs7MNX19f4+GHH7Zte+SRR4zQ0FDjzJkzdtcYOHCg4ePjY2RmZhqGYRjTpk0zJBkLFy60tcnIyDDq1atX5H4AAKhuCn/vr1q1yjh9+rRx7Ngx49NPPzX8/f0NNzc34/jx44ZhGLbfq4VycnKMJk2a2D07KU4/ozj9sOL+ji/smzRq1MjIzs62tXvzzTftnvVkZ2cb/v7+Rtu2bY3c3Fxbu7lz5xqS7PpgH3/8seHg4GBs2LDB7tqzZs0yJBk//PCDbZskw8HBwdizZ88178cwSt63/OPP3TAMIz4+vkhfcNSoUYbFYjF++ukn27azZ88afn5+dv26G3lOBaB4mN4TqKZuu+02xcfH66677tKOHTs0depUxcbGqmbNmnZTQH3xxRcqKCjQvffeqzNnztg+ISEhql+/vtasWWNrGxISohkzZmjlypXq3Lmztm/frg8++EDe3t7XzBIYGKiGDRtq/fr1kqQffvhBjo6OGjdunJKTk3XgwAFJl99M79Sp0xWn7CyuAQMGqEaNGrbvhW+qHz58+JrH+fr6as+ePbYspaF///4KDAy029avXz85OTlpwYIFtm27d+/W3r17NWDAgKuey2Kx6J577tHSpUt18eJF2/YFCxaoZs2a6tSpk6TL01qkpqbqvvvus/vzdHR0VPv27W1/nqdOndL27ds1ZMgQ+fj42M532223KTo6ulTuHwCAiiw9PV2S5OXlVeJzWK1WOThc/idXfn6+zp49a5tW6vdTJ/n6+ur48ePXnHLc19dXmzdv1smTJ28oQ+fOnbVt2zZlZGRIkr7//nv17t1bLVq0sM2isGHDBlksFlt/oSQ8PT31wAMP2L67uLioXbt2xepjSdJXX32lgoKCEl//96xWq4YOHWq3rXBq1YULF9pNKb9gwQJ16NBBkZGRVz3fgAEDlJubqy+++MK2bcWKFUpNTbX1zwzD0Oeff64777xThmHY9bNiY2OVlpZm+zNfunSpQkND9de//tV2Pnd396uOtAQAoDrq0aOHAgMDFRERoYEDB8rT01OLFy9WzZo1JUlubm62tufPn1daWpqt31OoOP2M6/XDbuR3fKGhQ4farY/8x2dPW7du1dmzZzVs2DA5Of1vIr5BgwbZPbOSpM8++0yNGjVSw4YN7a5dON3p75/LSdItt9xSrOc2Je1b/v7nnpubq7Nnz6pevXry9fW1+zksW7ZMMTExatGihW2bn5+fBg0aZHe+4j6nAlB8FP2Aaqxt27b64osvdP78ef34448aP368Lly4oL/+9a/au3evJOnAgQMyDEP169dXYGCg3Wffvn1KSUmxO+fAgQPVp08f/fjjjxo2bJi6d+9erCydO3e2e/DUpk0btWnTRn5+ftqwYYPS09O1Y8cOW0eppP74QKewM3X+/PlrHjdp0iSlpqbqpptuUtOmTTVu3Djt3LnzT2WpXbt2kW0BAQHq3r27Fi5caNu2YMECOTk5qV+/ftc834ABA3Tp0iVb0fbixYtaunSp7rnnHluhtLBo2a1btyJ/nitWrLD9ef7666+SpPr16xe5ToMGDUpwtwAAVC6FLy1duHChxOcoKCjQG2+8ofr168tqtSogIECBgYHauXOn0tLSbO2efvppeXp6ql27dqpf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ubm5qXnz5lq0aJHdMUuXLtVNN90kNzc33XrrrTp69Oif/+EAAABcB32pymHr1q1q2bKlWrZsKUkaO3asWrZsqQkTJkiSnnrqKY0aNUrDhw9X27ZtdfHiRS1btkyurq62c8ybN08NGzZU9+7d1bt3b3Xq1EnvvfeeKfcDAABA0Q8AANg5deqU7rvvPj388MPat2+f1q5dq379+skwjGKf47XXXlPz5s31008/6dlnn9WgQYP06aef2p1jwYIFCgsLU+fOnYscP2jQIH399de6ePGibdvy5cuVmZmpv/zlL5KkKVOm6KOPPtKsWbO0Z88ejRkzRg888IDWrVsnSTp27Jj69eunO++8U9u3b9ejjz6q//u//yvpjwUAAKBY6EtVHl27dpVhGEU+c+fOlSRZLBZNmjRJSUlJysrK0qpVq3TTTTfZncPPz0/z58/XhQsXlJaWpg8++ECenp4m3A0AAADTewIAgD84deqU8vLy1K9fP0VFRUmSmjZtekPn6Natm5588knb93vvvVejR4/W999/b3swNX/+fN13332yWCxFjo+NjZWHh4cWL16sBx980Nb+rrvukpeXl7Kzs/XSSy9p1apViomJkSTVqVNH33//vd59913dcsstmjlzpurWrat///vfkqQGDRpo165deuWVV278hwIAAFBM9KUAAABgFop+AADATvPmzdW9e3c1bdpUsbGx6tmzp/7617+qRo0axT5HmzZt7L4HBgaqZ8+emjdvnjp37qwjR44oPj5e77777hWPd3Jy0r333qt58+bpwQcfVEZGhr766it9+umnkqSDBw8qMzNTt912m91xOTk5tumZ9u3bp/bt29vtL3yoBQAAUFboSwEoT4mJiTpz5kyZnDsgIECRkZFlcm4AQNmg6FfOWo/7yOwIuI6EVwebHQEATOXo6KiVK1dq48aNWrFihaZPn65//etf2rx5sxwcHIpMTZWbm1vkHB4eHkW2DRo0SI8//rimT5+u+fPnq2nTptd8633QoEG65ZZblJKSopUrV8rNzU233367JNmmqvrmm29Us2ZNu+OsVusN3zMAANUR/z69sj/7b0L6UgDKS2Jioho2aqRLmZllcn43d3f9vG8fhT8AqEQo+gEAgCIsFos6duyojh07asKECYqKitLixYsVGBioU6dO2drl5+dr9+7duvXWW697zrvvvlvD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331mRwMAAKj0uJYCAAD487iWAgAAlYVdFP3uvvtunT9/XtOnT1dKSopatWqltWvXXnUTZQAAAFyNaykAAIA/j2spAABQWdhF0U+SJkyY8KvTJgDXy9XVVc8888xV02wAqL44L6C64FqqcuIchKqK9y6qKt67+LMq27VUdXsv01/7Rn/tV3Xqq0R/7V1l6a/FMAzD1AQAAAAAAAAAAAAAboiD2QEAAAAAAAAAAAAA3BiKfgAAAAAAAAAAAEAVR9EPuA6jRo3SgAEDzI4B4DcYhqFx48bJ399fFotFcXFxpuQ4deqUqc8PoGrq1q2bJk6caHYMoErg2hw3YsOGDbJYLMrMzPzVfZ599lm1atXqD7fNdSAAAADMRtEPAGAX1q5dq8WLF+vLL79UcnKymjdvbnYkALjKqFGjZLFYrlrmzJmj55577obatlgsWrVqVdkERbVw/vx5PfDAAwoPD5erq6tCQkLUq1cvbdmyxexowJ9yrfPrz5dnn332utp57LHHFBsbW75hgXI0f/581a1bV25uburQoYN27txpdqQys2nTJvXr109hYWHXvPYxDEPTp09XaGio3N3d1aNHDx07dsycsDdo9uzZateunby9vRUUFKQBAwYoISGh1D75+fkaP368AgIC5OXlpUGDBik1NdWkxDfmnXfeUXR0tHx8fOTj46OOHTtqzZo1tu321NdrefHFF2WxWEp9EdCe+vzss89e9Xc5KirKtt2e+vqTs2fPavjw4QoICJC7u7tatGih3bt327bb0/mqbt2617z2Gj9+vCT7en1LSko0bdo0RUZGyt3dXfXr19dzzz0nwzBs+5j92lL0AwDYhcTERIWGhqpTp04KCQmRk5OT2ZEA4Jp69+6t5OTkUktMTIy8vb1/9ZjCwsIKTIjqYtCgQdq3b58++ugjHT16VJ9//rm6deumCxcumB0N+FN+fl6dO3eufHx8Sq177LHHrqsdLy8vBQQE/Op2zsmozD7++GNNmjRJzzzzjPbu3auWLVuqV69eSktLMztamcjNzVXLli01f/78a26fM2eO5s2bpwULFmjHjh3y9PRUr169lJ+fX8FJb9zGjRs1fvx4bd++XevXr1dRUZFuu+025ebm2vZ55JFH9MUXX2jFihXauHGjzp07p4EDB5qY+s+rXbu2XnzxRe3Zs0e7d+/Wrbfeqv79++vQoUOS7Kuvv7Rr1y69++67io6OLrXe3vrcrFmzUn+XN2/ebNtmb329ePGiOnfuLGdnZ61Zs0aHDx/Wq6++qho1atj2safz1a5du0q9tuvXr5ck3XXXXZLs6/V96aWX9M477+itt95SfHy8XnrpJc2ZM0dvvvmmbR/TX1sDsDNdu3Y1JkyYYDz88MOGn5+fERQUZCxcuNDIyckxRo0aZXh5eRn169c3Vq9ebRiGYRQXFxujR4826tata7i5uRmNGjUy5s6dW6rNkSNHGv3797c9LikpMV544QXbMdHR0caKFSsqspsAfmbkyJGGJNsSERHxu7+n3333nSHJWLt2rdGqVSvDzc3NuOWWW4zU1FRj9erVRlRUlOHt7W0MHTrUyM3NtR23Zs0ao3Pnzoavr6/h7+9v9O3b1zh+/Lht+8mTJw1Jxr59+2zrDhw4YPTu3dvw9PQ0goKCjOHDhxvnz5+vkJ8NgMrll9cUP+natavx8MMP2x5HREQYM2fONEaMGGF4e3sbI0eONAoKCozx48cbISEhhqurqxEeHm688MILtv1/eR4EfsvFixcNScaGDRt+c58xY8YYgYGBhre3t3HLLbcYcXFxpfb5/PPPjbZt2xqurq5GQECAMWDAANu2jIwMY8SIEYafn5/h7u5u9O7d2zh69Kht+6JFiwxfX19j7dq1RlRUlOHp6Wn06tXLOHfunG2f4uJi45FHHrH93X388ceNe++995q/R8DP/fT++qWfrgG/+eYbIyYmxnB3dzc6duxoHDlyxLbPM888Y7Rs2dL2+Kdz96xZs4zQ0FCjbt26hmEYxo4dO4xWrVoZrq6uRkxMjPHZZ59ddR0IVLT27dsb48ePtz0uKSkxwsLCjNmzZ5uYqnxIMlauXGl7bLVajZCQEOPll1+2rcvMzDRcXV2N//u//zMhYdlKS0szJBkbN240DONK35ydnUv9Ozc+Pt6QZGzbts2smGWqRo0axvvvv2/Xfb106ZLRsGFDY/369aX+TWBvff7l39afs7e+GoZhTJ482ejSpcuvbrf389XDDz9s1K9f37BarXb3+vbt29cYPXp0qXUDBw40hg0bZhhG5XhtGekHu/TRRx8pMDBQO3fu1EMPPaQHHnhAd911lzp16qS9e/fqtttu04gRI5SXlyer1aratWtrxYoVOnz4sKZPn64nn3xSn3zyya+2P3v2bC1ZskQLFizQoUOH9Mgjj2j48OHauHFjBfYSwE/eeOMNzZw5U7Vr11ZycrJ27dp13b+nzz77rN566y1t3bpVZ86c0eDBgzV37lwtW7ZMX331lb7++utS39bJzc3VpEmTtHv3bsXGxsrBwUF33nmnrFbrNbNlZmbq1ltvVevWrbV7926tXbtWqampGjx4cLn+TABUfa+88opatmypffv2adq0aZo3b54+//xzffLJJ0pISNDSpUtVt25dSVe+WSlJixYtsp0Hgd/i5eUlLy8vrVq1SgUFBdfc56677lJaWprWrFmjPXv2qE2bNurevbsyMjIkSV999ZXuvPNO3X777dq3b59iY2PVvn172/GjRo3S7t279fnnn2vbtm0yDEO33367ioqKbPvk5eXplVde0b/+9S9t2rRJSUlJpUZjvfrqq1q8eLE+/PBDbd68WRkZGVq5cmU5/VRQnTz11FN69dVXtXv3bjk5OWn06NG/uX9sbKwSEhK0fv16ffnll8rJydEdd9yhpk2bas+ePXr22WeveyQhUF4KCwu1Z88e9ejRw7bOwcFBPXr00LZt20xMVjFOnjyplJSUUv339fVVhw4d7KL/WVlZkiR/f39J0p49e1RUVFSqv1FRUQoPD6/y/S0pKdHy5cuVm5urjh072nVfx48fr759+5bqm2Sfr++xY8cUFhamevXqadiwYUpKSpJkn339/PPP1bZtW911110KCgpS69at9d5779m22/P5qrCwUP/v//0/jR49WhaLxe5e306dOik2NlZHjx6VJO3fv1+bN29Wnz59JFWO15a5z2CXWrZsqaefflqSNHXqVL344osKDAzU2LFjJUnTp0/XO++8ox9++EE33XSTZsyYYTs2MjJS27Zt0yeffHLND+ULCgr0wgsv6JtvvlHHjh0lSfXq1dPmzZv17rvvqmvXrhXQQwA/5+vrK29vbzk6OiokJOQP/Z7OmjVLnTt3liSNGTNGU6dOVWJiourVqydJ+tvf/qbvvvtOkydPlnRlKrSf+/DDD1WzZk0dPnz4mvcRfOutt9S6dWu98MILpY6pU6eOjh49qkaNGpXtDwNApffll1/Ky8vL9vinfxz80q233qpHH33U9jgpKUkNGzZUly5dZLFYFBERYdtWs2ZNSZKfn59CQkLKKTnsiZOTkxYvXqyxY8dqwYIFatOmjbp27aohQ4YoOjpamzdv1s6dO5WWliZXV1dJVwrRq1at0qeffqpx48bp+eef15AhQ0pdS7ds2VLSlQ91Pv/8c23ZskWdOnWSJC1dulR16tTRqlWrbFP9FBUVacGCBapfv74kacKECZo5c6atvblz52rq1Km26X8WLFigdevWlf8PCHbv+eeft10TTpkyRX379lV+fr7c3Nyuub+np6fef/99ubi4SJIWLlwoq9WqDz74QG5ubmrWrJl+/PFHPfDAAxXWB+CX0tPTVVJSouDg4FLrg4ODdeTIEZNSVZyUlBRJumb/f9pWVVmtVk2cOFGdO3e2/bszJSVFLi4u8vPzK7VvVe7vgQMH1LFjR+Xn58vLy0srV65U06ZNFRcXZ3d9laTly5dr79691/zCnr29vh06dNDixYvVuHFjJScna8aMGfrLX/6igwcP2l1fJenEiRN65513NGnSJD355JPatWuX/vnPf8rFxUUjR4606/PVqlWrlJmZqVGjRkmyv/fylClTlJ2draioKDk6OqqkpETPP/+8hg0bJqly/C2i6Ae79PM5sB0dHRUQEKAWLVrY1v30S/fTnPbz58/Xhx9+qKSkJF2+fFmFhYVq1arVNds+fvy48vLy1LNnz1LrCwsL1bp16zLuCYA/44/8nv78fBEcHCwPDw9bwe+ndT+/8f2xY8c0ffp07dixQ+np6bYRfklJSdcs+u3fv1/fffddqQ/4f5KYmEjRD6iGbrnlFr3zzju2x56enho6dOhV+7Vt27bU41GjRqlnz55q3LixevfurTvuuEO33XZbueeF/Ro0aJD69u2r77//Xtu3b9eaNWs0Z84cvf/++8rNzVVOTs5V9zW7fPmyEhMTJUlxcXG2L9X9Unx8vJycnNShQwfbuoCAADVu3Fjx8fG2dR4eHraCnySFhobartGzsrKUnJxcqg0nJye1bdtWhmHc+A8A1drPrwFDQ0MlXfn3YXh4+DX3b9Giha3gJ115j0dHR5cqEv70ZTMAKGvjx4/XwYMHS90DzR41btxYcXFxysrK0qeffqqRI0fa7axaZ86c0cMPP6z169f/6hdO7MnPv+gYHR2tDh06KCIiQp988onc3d1NTFY+rFar2rZta/sCeOvWrXXw4EEtWLBAI0eONDld+frggw/Up08fhYWFmR2lXHzyySdaunSpli1bpmbNmikuLk4TJ05UWFhYpXltKfrBLjk7O5d6bLFYSq2zWCySrpyAly9frscee0yvvvqqOnbsKG9vb7388svasWPHNdvOycmRdGU6o1q1apXa9tO3oAGY64/8nv7y3HCt88fPp+7s16+fIiIi9N577yksLExWq1XNmzdXYWHhr2bp16+fXnrppau2/fQBE4DqxdPTUw0aNLiu/X6uTZs2OnnypNasWaNvvvlGgwcPVo8ePfTpp5+WV1RUA25uburZs6d69uypadOm6e9//7ueeeYZPfjggwoNDdWGDRuuOuanb+mWxQc01/q7S0EPFeHX/n34a355TgYqo8DAQDk6Oio1NbXU+tTU1GoxE8BPfUxNTS31b63U1NRf/WJ3VTBhwgR9+eWX2rRpk2rXrm1bHxISosLCQmVmZpYaQVOVX28XFxfbdXJMTIx27dqlN954Q3fffbfd9XXPnj1KS0tTmzZtbOtKSkq0adMmvfXWW1q3bp3d9fnn/Pz81KhRIx0/flw9e/a0u76GhoaqadOmpdY1adJE//73vyXZ7/nq9OnT+uabb/TZZ5/Z1tnbuerxxx/XlClTNGTIEElXvhh2+vRpzZ49WyNHjqwUry339EO199OUQw8++KBat26tBg0a2L69fC1NmzaVq6urkpKS1KBBg1JLnTp1KjA5gF9TXr+nFy5cUEJCgp5++ml1795dTZo00cWLF3/zmDZt2ujQoUOqW7fuVVn48AjAH+Xj46O7775b7733nj7++GP9+9//tt1fzdnZWSUlJSYnRFXXtGlT5ebmqk2bNkpJSZGTk9NVf78CAwMlXfmWdmxs7DXbadKkiYqLi0t9ke6nv6O//ADk1/j6+io0NLRUG8XFxdqzZ88N9BAoG02aNNEPP/yg/Px827rt27ebmAi4UjCJiYkpdW62Wq2KjY2tFiNRIyMjFRISUqr/2dnZ2rFjR5Xsv2EYmjBhglauXKlvv/1WkZGRpbbHxMTI2dm5VH8TEhKUlJRUJft7LVarVQUFBXbZ1+7du+vAgQOKi4uzLW3bttWwYcNs/29vff65nJwcJSYmKjQ01C5f386dOyshIaHUuqNHj9pu0WBv56ufLFq0SEFBQerbt69tnb29vnl5eXJwKF1Wc3R0tH15rDK8toz0Q7XXsGFDLVmyROvWrVNkZKT+9a9/adeuXVddTP3E29tbjz32mB555BFZrVZ16dJFWVlZ2rJli3x8fCrNMF6gOiuv39MaNWooICBACxcuVGhoqJKSkjRlypTfPGb8+PF67733NHToUD3xxBPy9/fX8ePHtXz5cr3//vtydHT8U1kAVD+vvfaaQkND1bp1azk4OGjFihUKCQmxfVuybt26io2NVefOneXq6qoaNWqYGxiV2oULF3TXXXdp9OjRio6Olre3t3bv3q05c+aof//+6tGjhzp27KgBAwZozpw5atSokc6dO6evvvpKd955p9q2batnnnlG3bt3V/369TVkyBAVFxdr9erVmjx5sho2bKj+/ftr7Nixevfdd+Xt7a0pU6aoVq1a6t+//3XnfPjhh/Xiiy+qYcOGioqK0muvvabMzMzy+8EA1+mee+7RU089pbFjx2rq1Kk6deqUXnnlFbNjAZo0aZJGjhyptm3bqn379po7d65yc3N13333mR2tTOTk5Oj48eO2xydPnlRcXJz8/f0VHh6uiRMnatasWWrYsKEiIyM1bdo0hYWFacCAAeaF/pPGjx+vZcuW6T//+Y+8vb1t94Ly9fWVu7u7fH19NWbMGE2aNEn+/v7y8fHRQw89pI4dO+qmm24yOf0fN3XqVPXp00fh4eG6dOmSli1bpg0bNmjdunV211fpyucWv7xFiKenpwICAmzr7anPjz32mG3mpHPnzumZZ56Ro6Ojhg4dapev7yOPPKJOnTrphRde0ODBg7Vz504tXLhQCxculHRllgF7Ol9JV4r0ixYt0siRI+Xk9L+yk729vv369dPzzz+v8PBwNWvWTPv27dNrr72m0aNHS6ocry1FP1R7999/v/bt26e7775bFotFQ4cO1YMPPqg1a9b86jHPPfecatasqdmzZ+vEiRPy8/NTmzZt9OSTT1ZgcgC/pTx+Tx0cHLR8+XL985//VPPmzdW4cWPNmzdP3bp1+9VjwsLCtGXLFk2ePFm33XabCgoKFBERod69e1/1zSAA+C3e3t6aM2eOjh07JkdHR7Vr106rV6+2nUteffVVTZo0Se+9955q1aqlU6dOmRsYlZqXl5c6dOig119/XYmJiSoqKlKdOnU0duxYPfnkk7JYLFq9erWeeuop3XfffTp//rxCQkJ088032+6P3a1bN61YsULPPfecXnzxRfn4+Ojmm2+2PceiRYv08MMP64477lBhYaFuvvlmrV69+qopPX/Lo48+quTkZI0cOVIODg4aPXq07rzzTmVlZZX5zwT4I7y8vPTFF1/oH//4h1q3bq2mTZvqpZde0qBBg8yOhmru7rvv1vnz5zV9+nSlpKSoVatWWrt2re3cXdXt3r1bt9xyi+3xpEmTJEkjR47U4sWL9cQTTyg3N1fjxo1TZmamunTporVr11bJe6b9dA/oX/57c9GiRRo1apQk6fXXX5eDg4MGDRqkgoIC9erVS2+//XYFJy0baWlpuvfee5WcnCxfX19FR0dr3bp16tmzpyT76uv1sqc+//jjjxo6dKguXLigmjVrqkuXLtq+fbtq1qwpyb76Kknt2rXTypUrNXXqVM2cOVORkZGaO3euhg0bZtvHns5XkvTNN98oKSnJVvz6OXt6fd98801NmzZNDz74oNLS0hQWFqb7779f06dPt+1j9mtrMbhhAgAAAAAAAAAAAFClMcQAAAAAAAAAAAAAqOIo+gEAAAAAAAAAAABVHEU/AAAAAAAAAAAAoIqj6AcAAAAAAAAAAABUcRT9AAAAAAAAAAAAgCqOoh8AAAAAAAAAAABQxVH0AwAAAAAAAAAAAKo4in4AAAAAAAAAAABAFUfRDwAAAABw3U6dOiWLxaK4uDizowAAAAAAfoaiHwAAAAAAAAAAAFDFUfQDAAAAAAAAAAAAqjiKfgCqnU8//VQtWrSQu7u7AgIC1KNHD+Xm5kqS3n//fTVp0kRubm6KiorS22+/bTtu9OjRio6OVkFBgSSpsLBQrVu31r333mtKPwAAAMqT1WrVnDlz1KBBA7m6uio8PFzPP//8VfuVlJRozJgxioyMlLu7uxo3bqw33nij1D4bNmxQ+/bt5enpKT8/P3Xu3FmnT5+WJO3fv1+33HKLvL295ePjo5iYGO3evbtC+ggAAFCR1q5dqy5dusjPz08BAQG64447lJiYaNu+detWtWrVSm5ubmrbtq1WrVp11bTqBw8eVJ8+feTl5aXg4GCNGDFC6enpJvQGQGVE0Q9AtZKcnKyhQ4dq9OjRio+P14YNGzRw4EAZhqGlS5dq+vTpev755xUfH68XXnhB06ZN00cffSRJmjdvnnJzczVlyhRJ0lNPPaXMzEy99dZbZnYJAACgXEydOlUvvviipk2bpsOHD2vZsmUKDg6+aj+r1aratWtrxYoVOnz4sKZPn64nn3xSn3zyiSSpuLhYAwYMUNeuXfXDDz9o27ZtGjdunCwWiyRp2LBhql27tnbt2qU9e/ZoypQpcnZ2rtC+AgAAVITc3FxNmjRJu3fvVmxsrBwcHHTnnXfKarUqOztb/fr1U4sWLbR3714999xzmjx5cqnjMzMzdeutt6p169bavXu31q5dq9TUVA0ePNikHgGobCyGYRhmhwCAirJ3717FxMTo1KlTioiIKLWtQYMGeu655zR06FDbulmzZmn16tXaunWrJGnbtm3q2rWrpkyZotmzZ+u7775Tly5dKrQPAAAA5e3SpUuqWbOm3nrrLf39738vte3UqVOKjIzUvn371KpVq2seP2HCBKWkpOjTTz9VRkaGAgICtGHDBnXt2vWqfX18fPTmm29q5MiR5dEVAACASis9PV01a9bUgQMHtHnzZj399NP68ccf5ebmJunKjFRjx461XXfNmjVL33//vdatW2dr48cff1SdOnWUkJCgRo0amdUVAJUEI/0AVCstW7ZU9+7d1aJFC91111167733dPHiReXm5ioxMVFjxoyRl5eXbZk1a1apaRY6duyoxx57TM8995weffRRCn4AAMAuxcfHq6CgQN27d7+u/efPn6+YmBjVrFlTXl5eWrhwoZKSkiRJ/v7+GjVqlHr16qV+/frpjTfeUHJysu3YSZMm6e9//7t69OihF198sdS1FwAAgD05duyYhg4dqnr16snHx0d169aVJCUlJSkhIUHR0dG2gp8ktW/fvtTx+/fv13fffVfqs6uoqChJ4hoKgCSKfgCqGUdHR61fv15r1qxR06ZN9eabb6px48Y6ePCgJOm9995TXFycbTl48KC2b99uO95qtWrLli1ydHTU8ePHzeoGAABAuXJ3d7/ufZcvX67HHntMY8aM0ddff624uDjdd999KiwstO2zaNEibdu2TZ06ddLHH3+sRo0a2a6xnn32WR06dEh9+/bVt99+q6ZNm2rlypVl3icAAACz9evXTxkZGXrvvfe0Y8cO7dixQ5JKXTf9lpycHPXr16/UZ1dxcXE6duyYbr755vKMDqCKoOgHoNqxWCzq3LmzZsyYoX379snFxUVbtmxRWFiYTpw4oQYNGpRaIiMjbce+/PLLOnLkiDZu3Ki1a9dq0aJFJvYEAACgfDRs2FDu7u6KjY393X23bNmiTp066cEHH1Tr1q3VoEGDa37TvHXr1po6daq2bt2q5s2ba9myZbZtjRo10iOPPKKvv/5aAwcO5BoLAADYnQsXLighIUFPP/20unfvriZNmujixYu27Y0bN9aBAwdUUFBgW7dr165SbbRp00aHDh1S3bp1r/r8ytPTs8L6AqDyougHoFrZsWOHXnjhBe3evVtJSUn67LPPdP78eTVp0kQzZszQ7NmzNW/ePB09elQHDhzQokWL9Nprr0mS9u3bp+nTp+v9999X586d9dprr+nhhx/WiRMnTO4VAABA2XJzc9PkyZP1xBNPaMmSJUpMTNT27dv1wQcfXLVvw4YNtXv3bq1bt05Hjx7VtGnTSn1AdfLkSU2dOlXbtm3T6dOn9fXXX+vYsWNq0qSJLl++rAkTJmjDhg06ffq0tmzZol27dqlJkyYV2V0AAIByV6NGDQUEBGjhwoU6fvy4vv32W02aNMm2/Z577pHVatW4ceMUHx+vdevW6ZVXXpF05QvskjR+/HhlZGRo6NCh2rVrlxITE7Vu3Trdd999KikpMaVfACoXJ7MDAEBF8vHx0aZNmzR37lxlZ2crIiJCr776qvr06SNJ8vDw0Msvv6zHH39cnp6eatGihSZOnKj8/HwNHz5co0aNUr9+/SRJ48aN01dffaURI0Zo06ZNcnR0NLNrAAAAZWratGlycnLS9OnTde7cOYWGhuof//jHVfvdf//92rdvn+6++25ZLBYNHTpUDz74oNasWSPpyvXVkSNH9NFHH+nChQsKDQ3V+PHjdf/996u4uFgXLlzQvffeq9TUVAUGBmrgwIGaMWNGRXcXAACgXDk4OGj58uX65z//qebNm6tx48aaN2+eunXrJunKZ1ZffPGFHnjgAbVq1UotWrTQ9OnTdc8999ju8xcWFqYtW7Zo8uTJuu2221RQUKCIiAj17t1bDg6M7wEgWQzDMMwOAQAAAAAAAAAA/mfp0qW67777lJWV9YfuuQyg+mKkHwAAAAAAAAAAJluyZInq1aunWrVqaf/+/Zo8ebIGDx5MwQ/AdaPoBwAAAAAAAACAyVJSUjR9+nSlpKQoNDRUd911l55//nmzYwGoQpjeEwAAAAAAAAAAAKjiuLsnAAAAAAAAAAAAUMVR9AMAAAAAAAAAAACqOIp+AAAAAAAAAAAAQBVH0Q8AAAAAAAAAAACo4ij6AQAAAAAAAAAAAFUcRT8AAAAAAAAAAACgiqPoBwAAAAAAAAAAAFRxFP0AAAAAAAAAAACAKo6iHwAAAAAAAAAAAFDF/X+9rUe1HJSppAAAAABJRU5ErkJggg=="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.preprocessing import StandardScaler, OneHotEncoder\n",
    "from sklearn.compose import ColumnTransformer\n",
    "from sklearn.impute import SimpleImputer\n",
    "from sklearn.pipeline import Pipeline\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# 确定特征列\n",
    "feature_columns = ['pclass', 'sex', 'age', 'sibsp', 'parch', 'fare', 'embarked']\n",
    "\n",
    "# 分类特征和连续特征\n",
    "categorical_features = ['pclass', 'sex', 'embarked']\n",
    "numerical_features = ['age', 'sibsp', 'parch', 'fare']\n",
    "\n",
    "# 为不同类型的特征创建处理流程\n",
    "categorical_transformer = Pipeline(steps=[\n",
    "    ('imputer', SimpleImputer(strategy='constant', fill_value='missing')),\n",
    "    ('onehot', OneHotEncoder(handle_unknown='ignore'))\n",
    "])\n",
    "\n",
    "numerical_transformer = Pipeline(steps=[\n",
    "    ('imputer', SimpleImputer(strategy='median')),\n",
    "    ('scaler', StandardScaler())\n",
    "])\n",
    "\n",
    "# 整合处理流程\n",
    "preprocessor = ColumnTransformer(\n",
    "    transformers=[\n",
    "        ('num', numerical_transformer, numerical_features),\n",
    "        ('cat', categorical_transformer, categorical_features)\n",
    "    ])\n",
    "\n",
    "# 应用预处理\n",
    "X_processed = preprocessor.fit_transform(data[feature_columns])\n",
    "\n",
    "# 设置预测标签\n",
    "label = data['survived']\n",
    "\n",
    "# 可视化\n",
    "# 创建一个1行3列的子图\n",
    "fig, axes = plt.subplots(nrows=1, ncols=3, figsize=(18, 5))\n",
    "\n",
    "# 性别与存活关系\n",
    "sns.countplot(ax=axes[0], x='sex', hue='survived', data=titanic_data)\n",
    "axes[0].set_title('Sex with survived')\n",
    "\n",
    "# 舱位等级与存活关系\n",
    "sns.countplot(ax=axes[1], x='class', hue='survived', data=titanic_data)\n",
    "axes[1].set_title('Class with survived')\n",
    "\n",
    "# 年龄分布情况\n",
    "sns.histplot(ax=axes[2], x=titanic_data['age'].dropna(), kde=True)\n",
    "axes[2].set_title(\"Passenger's age\")\n",
    "\n",
    "# 调整子图布局\n",
    "plt.tight_layout()\n",
    "\n",
    "# 显示整个图\n",
    "plt.show()"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-01-03T13:04:02.532827500Z",
     "start_time": "2024-01-03T13:04:01.979286100Z"
    }
   },
   "id": "efc7ee79c1962d5f"
  },
  {
   "cell_type": "markdown",
   "source": [
    "# 算法建模,模型训练以及模型评估"
   ],
   "metadata": {
    "collapsed": false
   },
   "id": "e9d1645e706d2497"
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "模型评估报告 - 支持向量机(SVM):\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.82      0.90      0.86       157\n",
      "           1       0.84      0.71      0.77       111\n",
      "\n",
      "    accuracy                           0.82       268\n",
      "   macro avg       0.83      0.81      0.81       268\n",
      "weighted avg       0.83      0.82      0.82       268\n",
      "\n",
      "AUC-ROC: 0.8080851552189131\n",
      "\n",
      "模型评估报告 - K最邻近(KNN):\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "           0       0.79      0.90      0.84       157\n",
      "           1       0.82      0.66      0.73       111\n",
      "\n",
      "    accuracy                           0.80       268\n",
      "   macro avg       0.80      0.78      0.78       268\n",
      "weighted avg       0.80      0.80      0.79       268\n",
      "\n",
      "AUC-ROC: 0.77787341481609\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.svm import SVC\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "from sklearn.metrics import classification_report, roc_auc_score\n",
    "\n",
    "# 数据划分\n",
    "X_train, X_test, y_train, y_test = train_test_split(X_processed, label, test_size=0.3, random_state=42)\n",
    "\n",
    "# 支持向量机模型\n",
    "svm_model = SVC(probability=True)\n",
    "svm_model.fit(X_train, y_train)\n",
    "svm_predictions = svm_model.predict(X_test)\n",
    "\n",
    "# K最邻近算法模型\n",
    "knn_model = KNeighborsClassifier()\n",
    "knn_model.fit(X_train, y_train)\n",
    "knn_predictions = knn_model.predict(X_test)\n",
    "\n",
    "# 模型评估\n",
    "def evaluate_model(predictions, model_name):\n",
    "    print(f\"模型评估报告 - {model_name}:\")\n",
    "    print(classification_report(y_test, predictions))\n",
    "    roc_score = roc_auc_score(y_test, predictions)\n",
    "    print(f\"AUC-ROC: {roc_score}\\n\")\n",
    "\n",
    "evaluate_model(svm_predictions, \"支持向量机(SVM)\")\n",
    "evaluate_model(knn_predictions, \"K最邻近(KNN)\")"
   ],
   "metadata": {
    "collapsed": false,
    "ExecuteTime": {
     "end_time": "2024-01-03T13:06:03.289311300Z",
     "start_time": "2024-01-03T13:06:03.214229800Z"
    }
   },
   "id": "d90a36c6c78d383"
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
